/*
 * Copyright (C) 2019 GreenWaves Technologies
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

#pragma once

#define ERASE_0_16_40_300 28112
#define ERASE_0_32_40_300 28771
#define ERASE_0_128_40_300 32720
#define ERASE_0_512_40_300 48833
#define ERASE_0_1024_40_300 69726
#define ERASE_0_2048_40_300 115115
#define ERASE_0_16_20_300 55821
#define ERASE_0_32_20_300 56719
#define ERASE_0_128_20_300 62112
#define ERASE_0_512_20_300 84173
#define ERASE_0_1024_20_300 114381
#define ERASE_0_2048_20_300 172294
#define ERASE_0_16_10_300 111296
#define ERASE_0_32_10_300 112730
#define ERASE_0_128_10_300 121356
#define ERASE_0_512_10_300 156313
#define ERASE_0_1024_10_300 203139
#define ERASE_0_2048_10_300 295793
#define ERASE_0_16_10_100 37181
#define ERASE_0_32_10_100 37629
#define ERASE_0_128_10_100 40502
#define ERASE_0_512_10_100 52141
#define ERASE_0_1024_10_100 67670
#define ERASE_0_2048_10_100 98605
#define ERASE_0_0_40_300 237910
#define ERASE_0_0_20_300 266017
#define ERASE_0_0_10_300 319877
#define ERASE_0_0_10_100 107365
#define ERASE_CHIP_0_0_40_300 13515247
#define ERASE_CHIP_0_0_10_300 13515653



#define READ_1D_1024_0_0_0_0_0_40_20 2226
#define READ_1D_1024_0_0_0_0_0_40_40 2350
#define READ_1D_1024_0_0_0_0_0_40_50 2417
#define READ_1D_1024_0_0_0_0_0_40_75 2635
#define READ_1D_1024_0_0_0_0_0_40_100 2793
#define READ_1D_1024_0_0_0_0_0_40_125 3003
#define READ_1D_1024_0_0_0_0_0_40_150 3096
#define READ_1D_1024_0_0_0_0_0_40_175 3451
#define READ_1D_1024_0_0_0_0_0_40_200 3818
#define READ_1D_1024_0_0_0_0_0_40_210 3722
#define READ_1D_1024_0_0_0_0_0_40_220 3980
#define READ_1D_1024_0_0_0_0_0_40_230 3265
#define READ_1D_1024_0_0_0_0_0_40_240 2940
#define READ_1D_1024_0_0_0_0_0_40_250 2992
#define READ_1D_1024_0_0_0_0_0_40_275 3196
#define READ_1D_1024_0_0_0_0_0_40_325 3653
#define READ_1D_1024_0_0_0_0_0_40_350 3829

#define OPEN_0_20_200 33848
#define OPEN_0_20_100 18279
#define OPEN_0_10_200 42630
#define OPEN_0_10_100 23050
#define WRITE_1D_1024_0_0_0_0_0_10_200 160536
#define WRITE_1D_1024_0_0_0_0_0_10_100 80294
#define WRITE_1D_16_0_0_0_0_0_20_200 37235
#define WRITE_1D_32_0_0_0_0_0_20_200 38037
#define WRITE_1D_64_0_0_0_0_0_20_200 39781
#define WRITE_1D_128_0_0_0_0_0_20_200 42979
#define WRITE_1D_256_0_0_0_0_0_20_200 49227
#define WRITE_1D_512_0_0_0_0_0_20_200 62356
#define WRITE_1D_1024_0_0_0_0_0_20_200 89108
#define WRITE_1D_2048_0_0_0_0_0_20_200 140410
#define WRITE_1D_4096_0_0_0_0_0_20_200 280077
#define WRITE_1D_16_0_0_0_0_0_10_200 74259
#define WRITE_1D_32_0_0_0_0_0_10_200 75618
#define WRITE_1D_64_0_0_0_0_0_10_200 78396
#define WRITE_1D_128_0_0_0_0_0_10_200 83773
#define WRITE_1D_256_0_0_0_0_0_10_200 94706
#define WRITE_1D_512_0_0_0_0_0_10_200 116386
#define WRITE_1D_1024_0_0_0_0_0_20_100 44001
#define WRITE_1D_2048_0_0_0_0_0_10_200 248607
#define WRITE_1D_4096_0_0_0_0_0_10_200 497407
#define WRITE_1D_16_0_0_0_0_0_40_300 28211
#define WRITE_1D_32_0_0_0_0_0_40_300 28923
#define WRITE_1D_64_0_0_0_0_0_40_300 30527
#define WRITE_1D_128_0_0_0_0_0_40_300 33775
#define WRITE_1D_256_0_0_0_0_0_40_300 40629
#define WRITE_1D_512_0_0_0_0_0_40_300 53478
#define WRITE_1D_1024_0_0_0_0_0_40_300 80333
#define WRITE_1D_2048_0_0_0_0_0_40_300 132876
#define WRITE_1D_4096_0_0_0_0_0_40_300 265757
#define READ_1D_1024_0_0_0_0_0_20_20 2370
#define READ_1D_1024_0_0_0_0_0_20_40 2600
#define READ_1D_1024_0_0_0_0_0_20_50 2795
#define READ_1D_1024_0_0_0_0_0_20_100 3832
#define READ_1D_1024_0_0_0_0_0_20_110 3892
#define READ_1D_1024_0_0_0_0_0_20_112 3423
#define READ_1D_1024_0_0_0_0_0_20_114 3288
#define READ_1D_1024_0_0_0_0_0_20_116 3248
#define READ_1D_1024_0_0_0_0_0_20_118 3264
#define READ_1D_1024_0_0_0_0_0_20_120 2925
#define READ_1D_1024_0_0_0_0_0_20_130 3070
#define READ_1D_1024_0_0_0_0_0_20_140 3250
#define READ_1D_1024_0_0_0_0_0_20_150 3417
#define READ_1D_1024_0_0_0_0_0_20_160 3589
#define READ_1D_1024_0_0_0_0_0_20_170 3746
#define READ_1D_1024_0_0_0_0_0_20_180 3893
#define READ_1D_1024_0_0_0_0_0_20_190 4073
#define READ_1D_1024_0_0_0_0_0_20_250 5084
#define READ_1D_1024_0_0_0_0_0_10_10 2360
#define READ_1D_1024_0_0_0_0_0_10_40 3252
#define READ_1D_1024_0_0_0_0_0_10_60 2936
#define READ_1D_1024_0_0_0_0_0_10_68 3183
#define READ_1D_1024_0_0_0_0_0_10_100 4238
#define READ_1D_1024_0_0_0_0_0_10_200 7515
#define READ_1D_1_0_0_0_0_0_20_200 1680
#define READ_1D_2_0_0_0_0_0_20_200 1695
#define READ_1D_4_0_0_0_0_0_20_200 1680
#define READ_1D_8_0_0_0_0_0_20_200 1679
#define READ_1D_16_0_0_0_0_0_20_200 1687
#define READ_1D_32_0_0_0_0_0_20_200 1774
#define READ_1D_64_0_0_0_0_0_20_200 1845
#define READ_1D_128_0_0_0_0_0_20_200 1999
#define READ_1D_256_0_0_0_0_0_20_200 2317
#define READ_1D_512_0_0_0_0_0_20_200 2977
#define READ_1D_1024_0_0_0_0_0_20_200 4242
#define READ_1D_2048_0_0_0_0_0_20_200 6803
#define READ_1D_4096_0_0_0_0_0_20_200 11914
#define READ_1D_8192_0_0_0_0_0_20_200 22161
#define READ_1D_16384_0_0_0_0_0_20_200 42612
#define READ_1D_32768_0_0_0_0_0_20_200 83546
#define READ_1D_1_0_0_0_0_0_40_300 1504
#define READ_1D_2_0_0_0_0_0_40_300 1492
#define READ_1D_4_0_0_0_0_0_40_300 1501
#define READ_1D_8_0_0_0_0_0_40_300 1493
#define READ_1D_16_0_0_0_0_0_40_300 1486
#define READ_1D_32_0_0_0_0_0_40_300 1559
#define READ_1D_64_0_0_0_0_0_40_300 1621
#define READ_1D_128_0_0_0_0_0_40_300 1743
#define READ_1D_256_0_0_0_0_0_40_300 1971
#define READ_1D_512_0_0_0_0_0_40_300 2450
#define READ_1D_1024_0_0_0_0_0_40_300 3410
#define READ_1D_2048_0_0_0_0_0_40_300 5327
#define READ_1D_4096_0_0_0_0_0_40_300 9168
#define READ_1D_8192_0_0_0_0_0_40_300 16839
#define READ_1D_16384_0_0_0_0_0_40_300 32178
#define READ_1D_32768_0_0_0_0_0_40_300 62848
#define READ_1D_1_0_0_0_0_0_20_250 1859
#define READ_1D_1_0_0_0_0_0_20_150 1499
#define READ_1D_1_0_0_0_0_0_10_200 2414
#define READ_1D_1_0_0_0_0_0_10_100 1680
#define READ_1D_1_0_0_0_0_0_5_250 4639
#define READ_1D_3_0_0_0_0_0_20_250 1858
#define READ_1D_4_0_0_0_0_0_20_250 1857
#define READ_1D_8_0_0_0_0_0_20_250 1860
#define READ_1D_16_0_0_0_0_0_20_250 1858
#define READ_1D_1_0_0_0_1_0_20_250 1866
#define READ_1D_2_0_0_0_1_0_20_250 1871
#define READ_1D_3_0_0_0_1_0_20_250 1855
#define READ_1D_4_0_0_0_1_0_20_250 1879
#define READ_1D_5_0_0_0_1_0_20_250 1865
#define READ_1D_7_0_0_0_1_0_20_250 1859
#define READ_1D_8_0_0_0_1_0_20_250 1866
#define READ_1D_9_0_0_0_1_0_20_250 1858
#define READ_1D_15_0_0_0_1_0_20_250 1854
#define READ_1D_16_0_0_0_1_0_20_250 1958
#define READ_1D_17_0_0_0_1_0_20_250 1965
#define READ_1D_31_0_0_0_1_0_20_250 1960
#define READ_1D_32_0_0_0_1_0_20_250 2015
#define READ_1D_33_0_0_0_1_0_20_250 2010
#define READ_1D_1023_0_0_0_1_0_20_250 5067
#define READ_1D_1024_0_0_0_1_0_20_250 5127
#define READ_1D_1025_0_0_0_1_0_20_250 5115
#define READ_1D_1_0_0_0_31_0_20_250 1864
#define READ_1D_2_0_0_0_31_0_20_250 1959
#define READ_1D_3_0_0_0_31_0_20_250 1959
#define READ_1D_4_0_0_0_31_0_20_250 1978
#define READ_1D_5_0_0_0_31_0_20_250 1959
#define READ_1D_7_0_0_0_31_0_20_250 1959
#define READ_1D_8_0_0_0_31_0_20_250 1958
#define READ_1D_9_0_0_0_31_0_20_250 1959
#define READ_1D_15_0_0_0_31_0_20_250 1957
#define READ_1D_16_0_0_0_31_0_20_250 1959
#define READ_1D_17_0_0_0_31_0_20_250 1960
#define READ_1D_31_0_0_0_31_0_20_250 2008
#define READ_1D_32_0_0_0_31_0_20_250 2009
#define READ_1D_33_0_0_0_31_0_20_250 2005
#define READ_1D_1023_0_0_0_31_0_20_250 5135
#define READ_1D_1024_0_0_0_31_0_20_250 5115
#define READ_1D_1025_0_0_0_31_0_20_250 5123
#define READ_1D_1_0_0_0_16_0_20_250 1859
#define READ_1D_2_0_0_0_16_0_20_250 1857
#define READ_1D_3_0_0_0_16_0_20_250 1865
#define READ_1D_4_0_0_0_16_0_20_250 1859
#define READ_1D_5_0_0_0_16_0_20_250 1866
#define READ_1D_7_0_0_0_16_0_20_250 1858
#define READ_1D_8_0_0_0_16_0_20_250 1883
#define READ_1D_9_0_0_0_16_0_20_250 1867
#define READ_1D_15_0_0_0_16_0_20_250 1858
#define READ_1D_16_0_0_0_16_0_20_250 1864
#define READ_1D_17_0_0_0_16_0_20_250 1964
#define READ_1D_31_0_0_0_16_0_20_250 1960
#define READ_1D_32_0_0_0_16_0_20_250 1957
#define READ_1D_33_0_0_0_16_0_20_250 2009
#define READ_1D_1023_0_0_0_16_0_20_250 5085
#define READ_1D_1024_0_0_0_16_0_20_250 5066
#define READ_1D_1025_0_0_0_16_0_20_250 5110
#define READ_1D_1_0_0_0_15_0_20_250 1865
#define READ_1D_2_0_0_0_15_0_20_250 1966
#define READ_1D_3_0_0_0_15_0_20_250 1955
#define READ_1D_4_0_0_0_15_0_20_250 1966
#define READ_1D_5_0_0_0_15_0_20_250 1958
#define READ_1D_7_0_0_0_15_0_20_250 1959
#define READ_1D_8_0_0_0_15_0_20_250 1959
#define READ_1D_9_0_0_0_15_0_20_250 1972
#define READ_1D_15_0_0_0_15_0_20_250 1965
#define READ_1D_16_0_0_0_15_0_20_250 1965
#define READ_1D_17_0_0_0_15_0_20_250 1965
#define READ_1D_31_0_0_0_15_0_20_250 2015
#define READ_1D_32_0_0_0_15_0_20_250 2010
#define READ_1D_33_0_0_0_15_0_20_250 2035
#define READ_1D_1023_0_0_0_15_0_20_250 5114
#define READ_1D_1024_0_0_0_15_0_20_250 5127
#define READ_1D_1025_0_0_0_15_0_20_250 5116
#define READ_1D_1_0_0_0_8_0_20_250 1879
#define READ_1D_2_0_0_0_8_0_20_250 1863
#define READ_1D_3_0_0_0_8_0_20_250 1859
#define READ_1D_4_0_0_0_8_0_20_250 1859
#define READ_1D_5_0_0_0_8_0_20_250 1859
#define READ_1D_7_0_0_0_8_0_20_250 1860
#define READ_1D_8_0_0_0_8_0_20_250 1858
#define READ_1D_9_0_0_0_8_0_20_250 1966
#define READ_1D_15_0_0_0_8_0_20_250 1958
#define READ_1D_16_0_0_0_8_0_20_250 1965
#define READ_1D_17_0_0_0_8_0_20_250 1991
#define READ_1D_31_0_0_0_8_0_20_250 2004
#define READ_1D_32_0_0_0_8_0_20_250 2008
#define READ_1D_33_0_0_0_8_0_20_250 2016
#define READ_1D_1023_0_0_0_8_0_20_250 5115
#define READ_1D_1024_0_0_0_8_0_20_250 5121
#define READ_1D_1025_0_0_0_8_0_20_250 5115
#define READ_1D_1024_0_0_1_0_0_20_120 3657
#define READ_1D_1024_0_0_2_0_0_20_120 3663
#define READ_1D_1024_0_0_3_0_0_20_120 3656
#define READ_1D_1024_0_0_1_0_0_20_200 4236
#define READ_2D_1024_1_0_1_0_0_20_200 778711
#define READ_2D_1024_2_0_1_0_0_20_200 389837
#define READ_2D_1024_4_0_1_0_0_20_200 195398
#define READ_2D_1024_8_0_1_0_0_20_200 98188
#define READ_2D_1024_16_0_1_0_0_20_200 49588
#define READ_2D_1024_32_0_1_0_0_20_200 27834
#define READ_2D_1024_64_0_1_0_0_20_200 15681
#define READ_2D_1024_128_0_1_0_0_20_200 9611
#define READ_2D_1024_256_0_1_0_0_20_200 6585
#define READ_2D_1024_512_0_1_0_0_20_200 5062
#define READ_2D_1024_1_0_1_0_0_40_300 583782
#define READ_2D_1024_2_0_1_0_0_40_300 292370
#define READ_2D_1024_4_0_1_0_0_40_300 146675
#define READ_2D_1024_8_0_1_0_0_40_300 73831
#define READ_2D_1024_16_0_1_0_0_40_300 37390
#define READ_2D_1024_32_0_1_0_0_40_300 21111
#define READ_2D_1024_64_0_1_0_0_40_300 11993
#define READ_2D_1024_128_0_1_0_0_40_300 7442
#define READ_2D_1024_256_0_1_0_0_40_300 5524
#define READ_2D_1024_512_0_1_0_0_40_300 4475
#define READ_2D_1024_1_15_1_0_0_20_200 778718
#define READ_2D_1024_2_15_1_0_0_20_200 392398
#define READ_2D_1024_4_15_1_0_0_20_200 199244
#define READ_2D_1024_8_15_1_0_0_20_200 102670
#define READ_2D_1024_16_15_1_0_0_20_200 54382
#define READ_2D_1024_32_15_1_0_0_20_200 29031
#define READ_2D_1024_64_15_1_0_0_20_200 16280
#define READ_2D_1024_128_15_1_0_0_20_200 9877
#define READ_2D_1024_256_15_1_0_0_20_200 6686
#define READ_2D_1024_512_15_1_0_0_20_200 5088
